BibliotecaAuxiliarScript.execute('framework.src.util.gui.BibliotecaAuxiliarDesenho');

Display = {};

Display.current_frame = nil;
Display.buffer = BibliotecaAuxiliarDesenho.newImagem(canvas:attrSize());
Display.tempoUltimaExibicao = 0;

function Display.show()
	local tempoAgora =  event.uptime();
	local diferencaTempo = tempoAgora - Display.tempoUltimaExibicao;
	
	if(diferencaTempo > 0.2 or Display.tempoUltimaExibicao == 0)then
		--limpa tela
		BibliotecaAuxiliarDesenho.limparTela(Display.buffer,Cor.new({alpha=100}));
		--desenha frame corrente
		BibliotecaAuxiliarDesenho.desenharImagem(Display.current_frame:getPx(),Display.current_frame:getPy(),Display.current_frame:draw(),Display.buffer);	
		--mostra na tela.
		BibliotecaAuxiliarDesenho.desenharImagem(0,0,Display.buffer,canvas);
		canvas:flush();
		
		Display.tempoUltimaExibicao = tempoAgora;
	end
end

function Display.setCurrentFrame(frame)
	current_frame = frame;
end

module("Display",package.seeall);